Some contemporary web servers include a filtering mechanism that evaluates an address, such as a web page address, to determine if that address should be handled in any special way (e.g. processed to add in dynamic content). A web server with a filter evaluates content that is requested by a browser, and, if there is dynamic content that is to be added to the web page, runs code to retrieve the dynamic content. The dynamic content is usually pulled from a database, and may or may not be combined with a template page (e.g., an HTML template page). One problem with this system is that for servers having only a few pages with dynamic content, checking all documents for dynamic content is an expensive process, wasting server resources and resulting in slower client experience and fewer clients that may be handled by an individual server.
One more disadvantage of such a ‘filtering’ scheme is that, if filters are utilized, the filters may have to be written differently for different web servers. In addition, various website hosting companies may not want to install filters on their servers due to the reduced client workload mentioned above.
An alternative method used by contemporary web servers to provide web pages having dynamic content is to enable a file type other than HTML or XML, with a different file extension (e.g., .asp instead of .htm). The different extension is easily recognized by the web server, and thus the expensive filtering operation is not required. Although this solution addresses the expense of filtering the web pages, the alternative file types have other drawbacks, for example, .asp files cannot be easily edited using current web page authoring programs.
Another alternative used by contemporary web servers to provide dynamically rendered web pages is to utilize multiple pages, wherein a first page sent to a client machine includes a link to a dynamically rendered page. A browser scans the page and requests the dynamically rendered page according to the link information. The dynamic page is then rendered to the user. A problem with this solution is that a web page author is required to create more than one web page (e.g., a dynamic page using asp and an HTML page including the link) for every dynamically rendered web page.